If you have state transfer configured and you have asynchronous mode configured, caches will behave in a synchronous way. This is done so that state transfer can work as expected, but the current solution expands the synchronous calls to cache operations as well, which results in this unexpected behaivour. A better solution that will resolve this confusion is already in the making (this issue also contains currently viable workarounds).